#ifndef PSRAM_H
#define PSRAM_H

#ifdef __cplusplus
extern "C" {
#endif

#define PSRAM_MAX_CPU_RATE              (240 * 1000000)
#define PSRAM_LIMIT_WRITE_CLK_FREQ      (60 * 1000000)
#define PSRAM_LIMIT_READ_HIGH_CLK_FREQ  (60 * 1000000)
#define PSRAM_LIMIT_READ_LOW_CLK_FREQ   (10 * 1000000)

uint32_t psram_size(void);
void *psram_save_start(void);
void psram_save_stop(void);
void psram_read(uint32_t addr, uint32_t *value, uint32_t bytes);
void psram_read_start(uint32_t addr, uint32_t *value, uint32_t bytes);
void psram_read_wait(void);
void psram_init(void);

#ifdef __cplusplus
}
#endif

#endif
